Entities often generate and use data that is important in some way to their operations. This data can include, for example, business data, financial data, and personnel data. If this data were lost or compromised, the entity may realize significant adverse financial and other consequences. Accordingly, many entities have chosen to back up some or all of their data so that in the event of a natural disaster, unauthorized access, or other events, the entity can recover any data that was compromised or lost, and then restore that data to one or more locations, machines, and/or environments.
While systems, hardware, computer-readable media, and methods for backing up data provide important functionality to the entity for whose benefit they are employed, the particular manner in which they are executed can result in the introduction of certain problems.
For example, there is sometimes a need to backup up multiple savesets of a single client. However, even if the backups start at the same time, they can finish at a variety of different times depending on the respective sizes of the savesets, and the throughput rate for each data stream.
Further, while some savesets may be backed up relatively quickly, the overall length of the backup window associated with the backup of the multiple savesets will be determined by the amount of time it takes to back up the largest saveset, assuming that the throughput rate for each data stream is the same. This is true even if the backups for each saveset all start at the same time.
Finally, where a first saveset is backed up sooner than a second saveset in the group, the bandwidth used for backing up the first set then becomes available. However, that bandwidth cannot be readily employed by savesets that are still being backed up. Thus, the available bandwidth is not efficiently employed.
In light of the foregoing, it would be helpful to implement methods to more efficiently employ available bandwidth for backup processes so as to shorten backup windows. As well, it would be useful to employ such methods in connection with the backup of multiple save streams from a single client, or other data source.